package com.daigg.hoteladmin.pojo.vo;

import com.daigg.hoteladmin.tools.Page;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.Date;

/**
 * @author 文
 * @description user实体
 * 一般来说控制器返回给前段的实体模型
 * 这里有点疑问,vo是我们从数据库查出来还可能返回给客户端的吗?
 */
@ApiModel("用户实体")
@Data
public class UserVO implements Serializable {

    @ApiModelProperty("主键")
    private String id;

    @ApiModelProperty("用户名")
    @NotNull
    @NotEmpty
    private String username;

    @ApiModelProperty("昵称")
    private String nickname;

    @ApiModelProperty("头像")
    private String heads;

    @ApiModelProperty("email")
    private String email;


    @ApiModelProperty("电话")
    private String phone;

    @ApiModelProperty("部门")
    private String dept;

    @ApiModelProperty("密码")
    @NotNull
    @NotEmpty
    // @Pattern(regexp = "") 进行正则表达式的匹配.
    private String password;

    @ApiModelProperty("描述")
    private String description;

    @ApiModelProperty("审核状态")
    private Integer reviewStatus;

    @ApiModelProperty("在线聊天")
    private String chatOnline;

    @ApiModelProperty("是否删除")
    private Integer isDeleted;

    @ApiModelProperty("创建人")
    private String createdBy;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新人")
    private String updateBy;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    private Page page;
}
